package com.ruoyi.ncpsy.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.ncpsy.mapper.NcpsyPermitProductMapper;
import com.ruoyi.ncpsy.domain.NcpsyPermitProduct;
import com.ruoyi.ncpsy.service.INcpsyPermitProductService;

/**
 * 准许种植产品管理Service业务层处理
 * 
 * @author ruoyi
 * @date 2025-08-07
 */
@Service
public class NcpsyPermitProductServiceImpl implements INcpsyPermitProductService 
{
    @Autowired
    private NcpsyPermitProductMapper ncpsyPermitProductMapper;



    /**
     * 查询准许种植产品管理
     * 
     * @param productId 准许种植产品管理主键
     * @return 准许种植产品管理
     */
    @Override
    public NcpsyPermitProduct selectNcpsyPermitProductByProductId(Long productId)
    {
        return ncpsyPermitProductMapper.selectNcpsyPermitProductByProductId(productId);
    }

    /**
     * 查询准许种植产品管理列表
     * 
     * @param ncpsyPermitProduct 准许种植产品管理
     * @return 准许种植产品管理
     */
    @Override
    public List<NcpsyPermitProduct> selectNcpsyPermitProductList(NcpsyPermitProduct ncpsyPermitProduct)
    {
        return ncpsyPermitProductMapper.selectNcpsyPermitProductList(ncpsyPermitProduct);
    }

    /**
     * 新增准许种植产品管理
     * 
     * @param ncpsyPermitProduct 准许种植产品管理
     * @return 结果
     */
    @Override
    public int insertNcpsyPermitProduct(NcpsyPermitProduct ncpsyPermitProduct)
    {
        ncpsyPermitProduct.setCreateTime(DateUtils.getNowDate());
        return ncpsyPermitProductMapper.insertNcpsyPermitProduct(ncpsyPermitProduct);
    }

    /**
     * 修改准许种植产品管理
     * 
     * @param ncpsyPermitProduct 准许种植产品管理
     * @return 结果
     */
    @Override
    public int updateNcpsyPermitProduct(NcpsyPermitProduct ncpsyPermitProduct)
    {
        ncpsyPermitProduct.setUpdateTime(DateUtils.getNowDate());
        if(ncpsyPermitProduct.getAuditStatus().equals("审核通过")){
            IdUtils idUtils = new IdUtils();
            ncpsyPermitProduct.setPlantingRecordNumber(idUtils.fastUUID());
            System.out.println(ncpsyPermitProduct.getPlantingRecordNumber());
        }
        return ncpsyPermitProductMapper.updateNcpsyPermitProduct(ncpsyPermitProduct);
    }

    /**
     * 批量删除准许种植产品管理
     * 
     * @param productIds 需要删除的准许种植产品管理主键
     * @return 结果
     */
    @Override
    public int deleteNcpsyPermitProductByProductIds(Long[] productIds)
    {
        return ncpsyPermitProductMapper.deleteNcpsyPermitProductByProductIds(productIds);
    }

    /**
     * 删除准许种植产品管理信息
     * 
     * @param productId 准许种植产品管理主键
     * @return 结果
     */
    @Override
    public int deleteNcpsyPermitProductByProductId(Long productId)
    {
        return ncpsyPermitProductMapper.deleteNcpsyPermitProductByProductId(productId);
    }
}
